// 导入所需的 Redux 相关模块
import { createStore, applyMiddleware } from "redux"; // 导入 createStore 和 applyMiddleware 函数
import thunk from "redux-thunk"; // 导入 redux-thunk 中间件
import { composeWithDevTools } from "redux-devtools-extension"; // 导入 Redux DevTools 扩展
import rootReducer from "./reducers"; // 导入根 reducer
import { getToken } from "@/utils/token";

// 使用 Redux DevTools 扩展增强中间件
const middlewares = composeWithDevTools(applyMiddleware(thunk));
const initialState = {
  // 注意：此处的 login 属性是根据合并reducer时，login 的名称而来的
  login: getToken(),
};
// 创建 Redux store
const store = createStore(rootReducer as any, initialState, middlewares);

// 导出 Redux store
export default store;
